<?php

Yii::import('ventas.models._base.BaseCierreCaja');

class CierreCaja extends BaseCierreCaja {

    public $date_first;
    public $date_last;
    public $rangoFechas;
    public $fechas;

    /**
     * @return CierreCaja
     */
    public static function model($className = __CLASS__) {
        return parent::model($className);
    }

    public static function label($n = 1) {
        return Yii::t('app', 'Cierre de Caja|Cierre de Cajas', $n);
    }

    public function scopes() {
        return array(
            'fecha_mas_reciente' => array(
                'order' => 'fecha_inicio DESC',
            ),
        );
    }

    public function de_empleado($id) {

        $this->getDbCriteria()->mergeWith(
                array(
                    'condition' => "empleado_id =:empleado_id",
                    'params' => array(
                        ':empleado_id' => $id,
                    ),
                    'order' => 'fecha_inicio DESC',
                )
        );
        return $this;
    }

    public function search() {
        $criteria = new CDbCriteria;

        $criteria->compare('id', $this->id);
        $criteria->compare('empleado_id', $this->empleado_id);
        $criteria->compare('fecha_inicio', $this->fecha_inicio, true);
        $criteria->compare('valor_apertura', $this->valor_apertura, true);
        $criteria->compare('fecha_cierre', $this->fecha_cierre, true);
        $criteria->compare('total_ventas', $this->total_ventas, true);
        $criteria->compare('total', $this->total, true);
        $criteria->compare('observaciones', $this->observaciones, true);
         if ((isset($this->date_first) && trim($this->date_first) != "") && (isset($this->date_last) && trim($this->date_last) != ""))
            $criteria->addBetweenCondition('fecha_inicio', '' . Util::FormatDate($this->date_first, "Y-m-d") . ' 00:00:00', '' . Util::FormatDate($this->date_last, "Y-m-d") . ' 23:59:59');

        return new CActiveDataProvider($this, array(
            'criteria' => $criteria,
        ));
    }
    
    
    public function de_rango($inicio, $fin) {
         $inicio = Util::FormatDate($inicio, 'Y-m-d 00:00:00');
        $fin = Util::FormatDate($fin, 'Y-m-d 23:59:59');
        $this->getDbCriteria()->mergeWith(
                array(
                    'condition' => 't.fecha_inicio BETWEEN :inicio AND :fin',
                    'params' => array(
                        ':inicio' => $inicio,
                        ':fin' => $fin
                    ),
                )
        );
        return $this;
    }

}
